package com.googlecode.grs.core;

import java.util.Hashtable;

/**
 * 
 * @author anand
 */
public abstract class Controller extends GRTObject {

	protected Hashtable mechanisms;
	protected boolean running;

	public Controller() {
		mechanisms = new Hashtable();
		running = false;
	}

	public void start() {
		running = true;
		startListening();
		super.start();
	}

	public abstract void run();

	public abstract void halt();

	public abstract void pause();

	public abstract void unPause();

	public void startListening() {
	}

	public void stopListening() {
	}

	public boolean isRunning() {
		return running;
	}
}
